草庐IT

java - 有Java语言的Java解析器吗?

全部标签

java - 使用 XStream 将 Java 对象序列化为 XML

问题是每次我执行main方法时,a.xml的旧内容都会丢失并被替换为新内容。如何在不丢失之前信息的情况下向a.xml文件追加内容?importjava.io.FileNotFoundException;importjava.io.PrintWriter;importcom.thoughtworks.xstream.XStream;importcom.thoughtworks.xstream.io.xml.DomDriver;publicclassTest{publicstaticvoidmain(String[]args)throwsFileNotFoundException{XStr

xml - maven 和 xml 解析的 Hibernate 依赖问题

我正在为我们的开发团队编写GWT-Hibernate内部Web应用程序。之前,我编写了工具来解析XML文件,这些文件表示在现场收集的客户配置以供分析。现在,我正在尝试为支持组添加一个UI前端。XML解析代码使用xpath和org.w3c.dom类来使用配置文件,在将UI和解析代码合并到同一个项目后,我遇到了依赖性问题。Hibernate3.5.1依赖于使用旧版本xml-apis的dom4j。xml-apisjar有旧版本的org.w3c.dom类,太旧以至于我在XML解析中使用的方法之一不可用。org.w3c.dom.Node.getTextContext方法在旧的xml-apis类中

xml dtd-如何避免解析元素的内容?

在构成我的xml的元素中,我有一个元素,我们称之为“X”,它可以包含许多不同类型的内部元素。因此,我想定义DTD解析器以避免在其XMl验证期间解析其内容。我试图通过以下方式定义此元素:并收到错误消息,指出“X”内的内部元素未定义并尝试将其定义为:我收到错误消息“‘X’内只允许文本”我应该如何定义X以便DTD验证器忽略元素“X”的内容? 最佳答案 Internet上的某些指南声称ANY表示关闭此元素的验证过程,但这不是正确的信息。DTD中的内容模型ANY实际上并不意味着“允许此元素中任何格式良好的XML内容”。相反,它意味着“允许在此

java - 如何使用 XSLT v1.0 插入文本而不是使用 XSLT v2.0 正则表达式?

我有一个xml文件,它描述了(除其他外)具有描述完全限定java类名的属性值的元素。我正在尝试编写一个XSLT转换来修改此文件中描述的类名,这样(例如)com.example.MyClass的出现将变为com.example.MockMyClass.在原始文件片段的上下文中再次显示该示例:templates/MyTemplate.vm我想要的结果是:templates/MyTemplate.vm我正在使用JavaJAXPAPI进行这种转换,并编写了一个可爱的XSLT2.0兼容正则表达式例程来获得我想要的结果,结果发现Java5不支持XSLT2.0,而XSLT2.0是正则表达式所必需的支

java - STAX使用java语言如何获取属性处理的值?

我想在不知道它的索引的情况下获取xml文件的属性值,因为属性在xml文件中的多个元素中重复。这是我的xml文件这是处理文件caseXMLEvent.ATTRIBUTE://howcaniknowtheindexofattribute?StringattName=xmlReader.getAttributeValue(?????);break;提前致谢啊啊啊 最佳答案 如果是XMLStreamReader则可以使用getAttributeValue(intindex)和getAttributeValue(Stringnamespace

java - 名称为 "unknown"的 JAXB 映射元素

我有一个XML,我无法控制它的生成方式。我想通过将它解码为我手写的类来创建一个对象。其结构的一个片段如下所示:aaabbbccc我该如何处理这种情况?当然,元素数量是可变的。 最佳答案 如果您使用以下对象模型,那么每个未映射的key_#元素都将保留为org.w3c.dom.Element的实例:importjava.util.List;importjavax.xml.bind.annotation.XmlAnyElement;importjavax.xml.bind.annotation.XmlRootElement;importo

Java XML getElementsByTagName() 函数

假设我有这个XML文件:Settler267Infantry337节点属性上的getElementsByTagName("attack")是否返回一个NodeList,攻击元素在第一个位置包含26,攻击元素在第二个位置包含33?我一直认为是这样,但似乎行不通。如果不是这么简单;从XML文件中获取所有攻击值的好方法是什么?也许XML文件本身的结构不正确?编辑:啊。我现在得到了节点,.getTextContent()而不是.getNodeValue()解决了我的问题。对于给您带来的不便,我们深表歉意。 最佳答案 DomCore2Spec

java - 为什么在执行 XSLT 转换时会出现 "Premature End of File"错误?

获取行#-1;列#-1;xslt转换时文件过早结束XSL:Real'sHowToTitleamitLinkXML:SprintCommunity:SpacePolls-AndroidListofpollshttp://community.sprint.com/baw/poll.jspa?containerType=14&container=2130JiveSBS2010-02-08T17:30:00Z2010-02-08T17:30:00ZenWhat'sValuablewengla02/people/wengla02noreply-buzz@sprint.com2010-02-08T

java - 在 Java 中读取 XML 元素列表

我想遍历一个XML文档,它本质上是一个结构相同的XML元素的列表。这些元素将被序列化为Java对象。...根元素中有很多元素。我不想将它们全部加载到内存中。我意识到我可以为此使用SAX处理程序,但是使用SAX处理程序将所有内容反序列化为Java对象似乎相当迟钝。我发现JDOM非常易于使用,但据我所知,JDOM总是解析整个树。有没有一种方法可以使用JDOM一次解析一个子元素?使用JDOM的另一个原因是它使得为相应的Java对象编写序列化/反序列化代码变得容易,如果这些对象不完全在内存中就没有意义。但是,我不想同时将所有Java对象加载到内存中。相反,我想对它们进行一次迭代。更新:这里是如

xml - 当文件具有 xmlns 属性时在 F# 中解析 xml

所以我尝试使用F#XMLparsingpost在以下xml中(来自uclassifyAPI):代码是这样的:letdoc=Xdocument.Loadfiledoc.Element(xn"uclassify").Element(xn"readCalls").Element(xn"classify").Element(xn"classification").Element(xn"class").Attribute(xn"p")这行不通!!!似乎无法完成解析。然而,删除属性xmlns="http://api.uclassify.com/1/ResponseSchema"version="1